'use strict';
import React, { Component } from 'react';
import {
    StyleSheet,
    Text,
    TouchableOpacity,
    View, Animated, Easing, CameraRoll, Dimensions, Platform
} from 'react-native';

export default class A extends Component {
    render() {
        return (
            <View></View>
        )
    }
}
// import { RNCamera } from 'react-native-camera';

// const {width, height} = Dimensions.get('window');

// import {connect}  from 'react-redux';

// interface Istate {
//     moveAnim: Animated.Value,
//     flashMode: any,
// }

// class BadInstagramCloneApp extends Component<any, Istate> {

//     camera: RNCamera | null;
//     code: string | null;

//     constructor (props) {
//         super(props);
//         this.state = {
//             moveAnim: new Animated.Value(1),
//             flashMode: false
//         }
//     }

//     turnToPage = (pageName: string, params?: Object | null) => {
//         this.props.navigation.navigate(pageName, params);
//     };
    
//     onBarCodeRead = (e) => {
//         console.info('onBarCodeRead', e);
//         if (e.data !== this.code) {
//             this.code = e.data;
//             // 跳转
//             alert('read' + e.data);
//             alert('from     ' +  this.props.scanPageFrom)
//             if (this.props.scanPageFrom) {
//                 this.turnToPage(this.props.scanPageFrom, {
//                     code: e.data
//                 })
//             }
//         }
//     }

//     componentDidMount() {
//         this.startAnimation();
//     }
    
//     startAnimation = () => {
//         this.state.moveAnim.setValue(0);
//         Animated.timing(
//             this.state.moveAnim,
//             {
//                 toValue: -200,
//                 duration: 1500,
//                 easing: Easing.linear
//             }
//         ).start(() => this.startAnimation());
//     };

//     takePicture = async ()  => {
//         if (this.camera) {
//             const options = { quality: 0.5, base64: true };
//             const data = await this.camera.takePictureAsync(options)
//             console.log(data.uri);

//              CameraRoll.saveToCameraRoll(data.uri).then((res) => {
//                 alert('保存成功' + res);
//             }, (err) => {
//                 alert('err' + err);
//             })
//         }
//     }

//     changeFlashMode = () => {
//         let {flashMode} = this.state;
//         this.setState({flashMode: !flashMode});
//     }

//     render() {
//         return (
//             <View>
//                 {/* <CommonTitleBar back={true} nav={this.props.navigation}/> */}
//             <View style={styles.container}>
//                 <RNCamera
//                     ref={ref => {
//                         this.camera = ref;
//                     }}
//                     style={styles.preview}
//                     type={RNCamera.Constants.Type.back} // which camera to use 
//                     // flashMode={this.state.flashMode} // flash mode
//                     permissionDialogTitle={'Permission to use camera'}
//                     permissionDialogMessage={'We need your permission to use your camera phone'}
//                     onBarCodeRead = {this.onBarCodeRead}
//                 />
//                 <View style={{display: 'flex', flexDirection: 'column', width: '80%'}}>
//                     <View style={styles.rectangleContainer}>
//                         <View style={{display:'flex', width: '100%', flexDirection: 'row', justifyContent: 'center'}}>
//                             <View style={styles.rectangle}>
//                                 <Animated.View style={[
//                                     styles.border,
//                                     {transform: [{translateY: this.state.moveAnim}]}]}
//                                 />
//                             </View>
//                         </View>
//                         <Text style={styles.rectangleText}>将二维码放入框内，即可自动扫描</Text>
//                         <View style={{display: 'flex', flexDirection: 'row', justifyContent: 'center', marginTop: 50}}>
//                             <TouchableOpacity
//                                 onPress={this.takePicture}
//                                 style={styles.capture}
//                             >
//                                 <Text style={{ fontSize: 14 }}> SNAP </Text>
//                             </TouchableOpacity>
//                             <TouchableOpacity
//                                 onPress={this.changeFlashMode}
//                                 style={styles.capture}
//                             >
//                                 <Text style={{ fontSize: 14 }}> Flash </Text>
//                             </TouchableOpacity>
//                         </View>
//                     </View>
//                 </View>
//             </View>
//             </View>
//         );
//     }
// }

// export default connect(
//     (state) => ({
//         scanPageFrom: state.page.scanPageFrom
//     })
// )(BadInstagramCloneApp);

// const styles = StyleSheet.create({
//     container: {
//         display: 'flex',
//         // flex: 1,
//         // backgroundColor: 'black',/
//         height: height,
//         justifyContent: 'center',
//         // alignItems: 'center'
//     },
//     preview: {
//         alignSelf: 'center',
//         width: width,
//         height: height -350,
//     },
//     capture: {
//         flex: 0,
//         backgroundColor: 'red',
//         borderRadius: 5,
//         padding: 15,
//         // paddingHorizontal: 20,
//         alignSelf: 'center',
//         margin: 20
//     },
//     rectangleContainer: {
//         width: width,
//         // backgroundColor: 'black',
//         marginTop: -350
//     },
//     rectangle: {
//         height: 200,
//         width: 200,
//         borderWidth: 1,
//         borderColor: '#00FF00',
//         // backgroundColor: 'transparent'
//     },
//     rectangleText: {
//         flex: 0,
//         color: '#fff',
//         marginTop: 30,
//         textAlign: 'center'
//     },
//     border: {
//         flex: 0,
//         width: 200,
//         height: 2,
//         // marginTop: -300,
//         marginTop: 200,
//         backgroundColor: '#00FF00',
//     }
// });




